package com.runrun.com.runrun.sqlsession;

import java.beans.IntrospectionException;
import java.lang.reflect.InvocationTargetException;
import java.sql.SQLException;
import java.util.List;

public interface SqlSession {
    public <T> List<T> selectList(String statementId,Object...params) throws IllegalAccessException, IntrospectionException, InstantiationException, NoSuchFieldException, SQLException, InvocationTargetException, ClassNotFoundException;
    public <T> T selectOne(String statementId,Object...params) throws IllegalAccessException, ClassNotFoundException, IntrospectionException, InstantiationException, SQLException, InvocationTargetException, NoSuchFieldException;
    public Integer insert(String statementId,Object...params) throws Exception;
    public Integer update(String statementId,Object...params) throws Exception;
    public Integer delete(String statementId,Object...params) throws Exception;
    public <T> T getMapper(Class<?> mapperClass);
    public <T> T getInsertMapper(Class<?> mapperClass);
    public <T> T getUpdateMapper(Class<?> mapperClass);
    public <T> T getDeleteMapper(Class<?> mapperClass);
}
